package com.iweb.entity;

/**
 * 宠物企鹅类 子类
 */
public class Penguin extends Pet {
    /*性别*/
    private String sex;

    /**
     * 重写父类的show方法
     */
    @Override
    public void show() {
        super.show();   //调用父类对象的show方法
        System.out.println("性别:"+sex);
    }

    /**
     * 重写父类的play抽象方法
     * @return 宠物企鹅能否玩游戏 true代表可以玩游戏 false代表疲倦了，不能玩了
     */
    @Override
    public boolean play() {
        if (this.health<18){    //先判断能否进行一次游戏
            System.out.println(this.nickName+"已经疲惫了，不能继续玩游戏了");
            return false;
        }
        System.out.println(this.nickName+"正在和主人玩比赛游泳的游戏，健康值-18，亲密度+20");
        this.health-=18;
        this.love+=20;
        if (this.love>150){    //判断亲密度是否达到升级要求
            this.level++;
            this.love-=150;
            System.out.println("恭喜您，您的宠物"+this.nickName+"升级了，当前等级："+this.level);
        }
        return true;
    }

    /**
     * 重写父类eat抽象方法
     * @return 宠物企鹅能否喂食 true代表能喂食 false代表吃饱了，不能喂食
     */
    @Override
    public boolean eat() {
        if (this.health>150){      //判断宠物企鹅是否吃饱，已吃饱就不能继续喂食
            System.out.println(this.nickName+"已经吃饱了");
            return false;
        }
        System.out.println(this.nickName+"吃了一条鲫鱼，健康值+40");
        this.health+=40;
        this.health = this.health>150?150:this.health; //判断健康值是否大于150，大于150，健康值置为150，小于150，健康值为原来的健康值+40
        return true;
    }

    public Penguin() {
    }

    public Penguin(String nickName, int health, int love, int level, String sex) {
        super(nickName, health, love, level);   //访问父类构造方法
        this.sex = sex;
    }


    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}
